package day0;
import java.util.Scanner;

import org.junit.Test;

public class Day2Work {
	// 1、计算9的阶乘 9!=9*8*7*6...*2*1
	@Test
	public void test1() {
		int sum1 = 1;// 总值
		int sum2 = 1;// 总值
		for (int i = 1; i <= 9; i++) {
			sum1 *= i;
			System.out.println(sum1);
		}
		System.out.println("————————————");
		for (int i = 9; i >= 1; i--) {
			sum2 *= i;
			System.out.println(sum2);
		}
	}

	// 2、用for循环输出1—1000之间能被5整除的数，且每行输出3个
	
	public int a1() {
		int i = 0;
		if (i == 1) {
			return 1;
		}else {
			return 2;
		}
		
	}
	@Test
	public void test2() {
		int j = 0;
		for (int i = 1; i <= 1000; i++) {
			if (i % 5 == 0) {
				System.out.print(i + "\t");
				j++;

				if (j % 3 == 0) {
					System.out.print("\n");
				}
			}
		}
	}

	// 3.计算1-100以内所有奇数的和以及所有偶数的和，分别打印出来。
	@Test
	public void test3() {
		int sum1 = 0;// 奇数和
		int sum2 = 0;// 偶数和
		for (int i = 1; i <= 100; i++) {
			if (i % 2 == 0) {
				sum1 += i;
			}else {
				sum2 += i;
			}
		}
		System.out.println("奇数和为" + sum1);
		System.out.println("偶数和为" + sum2);
	}

	/*
	 * 4 . 1*9=9 2*9=18 3*9=27 .... 8*9=72 9*9=81 (用while和for分别实现) print()只打印不换行
	 */
	@Test
	public void test4() {
		int i ;
		int j ;
		for (i = 1; i <= 9; i++) {
			for (j = 1; j <= i ; j++) {
				System.out.print(j + "*" + i + "=" +  i * j);
				System.out.print("\t");
				if(j == i) {
					System.out.println();
				}
			}
		}

	}

	
	
	/*
	 * 题目：企业发放的奖金根据利润提成。 利润(I)低于或等于10万元时，奖金可提10%；
	 * 利润高于10万元，低于20万元时，低于10万元的部分按10%提成,高于10万元的部分，可可提成7.5%；
	 * 20万到40万之间时，高于20万元的部分，可提成5%； 40万到60万之间时,高于40万元的部分，可提成3%；
	 * 60万到100万之间时，高于60万元的部分,可提成1.5%， 高于100万元时，超过100万元的部分按1%提成， 从键盘输入当月利润，求应发放奖金总数？
	 */
	@Test
	public void test51() {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入您的利润额(w):");
		int I = scanner.nextInt();// 利润
		double bonus; // 奖金
		
		if (I <= 10 && I>=0) {
			bonus =  I * 0.1; 
			System.out.println("您的提成奖金为:" + bonus + "w");
		} else if (I > 10 && I <= 20) {
			bonus = 10 * 0.1 + (I-10) * 0.075;
			System.out.println("您的提成奖金为:" + bonus + "w");
		} else if (I > 20 && I <= 40) {
			bonus = 10 * 0.1 + 10 * 0.075 + (I-20) * 0.05;
			System.out.println("您的提成奖金为:" + bonus + "w");
		} else if (I > 40 && I <= 60) {
			bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (I-40) * 0.03;
			System.out.println("您的提成奖金为:" + bonus + "w");
		} else if (I > 60 && I <= 100) {
			bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + (I-60) * 0.015;
			System.out.println("您的提成奖金为:" + bonus + "w");
		} else if (I > 100) {
			bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + 40 * 0.015 + (I-100) * 0.001;
			System.out.println("您的提成奖金为:" + bonus + "w");
		}
	}
		
	//利润额和提成
	@Test
	public void test5() {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入您的利润额(w):");
		int I = scanner.nextInt();// 利润
		double bonus; // 奖金

		if (I <= 10 && I>=0) {
			bonus = I1(I);// 低于10w
			System.out.println("您的提成奖金为:" + bonus + "w");
		} else if (I > 10 && I <= 20) {
			bonus = I2(I);// 10w-20w
			System.out.println("您的提成奖金为:" + bonus + "w");
		} else if (I > 20 && I <= 40) {
			bonus = I3(I);// 20w-40w
			System.out.println("您的提成奖金为:" + bonus + "w");
		} else if (I > 40 && I <= 60) {
			bonus = I4(I);// 40w-60w
			System.out.println("您的提成奖金为:" + bonus + "w");
		} else if (I > 60 && I <= 100) {
			bonus = I5(I);// 60w-100w
			System.out.println("您的提成奖金为:" + bonus + "w");
		} else if (I > 100) {
			bonus = I6(I);// 高于100w
			System.out.println("您的提成奖金为:" + bonus + "w");
		}
	}

	// 低于10w，奖金可提10%
	public double I1(int I) {
		double bonus = I * 0.1;
		return bonus;
	}

	// 10w-20w，低于10万元的部分按10%提成,高于10万元的部分，可可提成7.5%；
	public double I2(int I) {
		double bonus1;// 低于10w
		double bonus2;// 10w区间

		bonus1 = I1(10);
		bonus2 = (I - 10) * 0.075;
		return bonus1 + bonus2;
	}

	// 20w-40w，高于20万元的部分，可提成5%；
	public double I3(int I) {
		double bonus1;// 低于20w
		double bonus2;// 20w-40w

		bonus1 = I2(20);
		bonus2 = (I - 20) * 0.05;
		return bonus1 + bonus2;
	}

	// 40w-60w，高于40万元的部分，可提成3%
	public double I4(int I) {
		double bonus1;// 低于40w
		double bonus2;// 40w-60w

		bonus1 = I3(40);
		bonus2 = (I - 40) * 0.03;
		return bonus1 + bonus2;
	}

	// 60w-100w，高于60万元的部分,可提成1.5%
	public double I5(int I) {
		double bonus1;// 低于60w
		double bonus2;// 60w-100w

		bonus1 = I4(60);
		bonus2 = (I - 60) * 0.015;
		return bonus1 + bonus2;
	}

	// 高于100w，超过100万元的部分按1%提成，
	public double I6(int I) {
		double bonus1;// 低于100w
		double bonus2;// 100w+

		bonus1 = I5(100);
		bonus2 = (I - 100) * 0.01;
		return bonus1 + bonus2;
	}

	
	
	
	
	/*
	 * 6、输出一下结构： 五层星号？
	 */
	@Test
	public void test6() {
		// 行数 = 最后一个数字也是每行的 数字个数
		int i, j;
		for (i = 1; i <= 5; i++) {// 控制行数
			for (j = 1; j <= i; j++) {// 每行数字
				System.out.print("*");
			}
			System.out.println();

		}
		int x, y;
		for (x = 1; x <= 5; x++) {
			for (y = 1; y <= x; y++) {
				System.out.print(y);
			}
			System.out.println();
		}
	}

	
	// 7、从控制台输入两个数,然后分别打印这两个数，然后交换这两个数的值
	@Test
	public void test7() {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入x:");
		int x = scanner.nextInt();
		System.out.println("请输入y:");
		int y = scanner.nextInt();
		int z;
		z = x;
		x = y;
		y = z;
		System.out.println("转换后x = " + x);
		System.out.println("转换后y = " + y);
	}

}
